import request from '@/config/axios'

// 店员信息 VO
export interface ClerkVO {
  id: number // 编号
  userId: number // 用户编号
  nickname: string // 昵称
  avatar: string // 头像
  sex: boolean // 性别
  age: number // 年龄
  weixin: string // 微信
  mobile: string // 手机号
  city: string // 城市
  experience: string // 相关经验
  sound: string // 录音
  soundType: string // 音频格式
  soundTime: number // 音频时长
  albums: string // 相册
  intro: string // 介绍
  onlineTime: string // 接单时间
  onlineStatus: boolean // 在线状态
  status: boolean // 状态
  catIds: string // 分类id列表
  catList: string // 分类列表
  gameIds: string // 游戏id列表
  gameList: string // 游戏列表
  goodsIds: string // 商品id列表
  fans: number // 粉丝数量
  orderNum: number // 完成的订单数量
  blindStatus: boolean // 是否接盲盒订单
  workerClerkLevelId: number // 店员等级id
  level: number // 店员等级
  hot: boolean // 人气店员
  home: boolean // 首页推荐
  skillNum: number // 技能数量
}

// 店员信息 API
export const ClerkApi = {
  // 查询店员信息分页
  getClerkPage: async (params: any) => {
    return await request.get({ url: `/worker/clerk/page`, params })
  },

  // 查询店员信息详情
  getClerk: async (id: number) => {
    return await request.get({ url: `/worker/clerk/get?id=` + id })
  },

  // 新增店员信息
  createClerk: async (data: ClerkVO) => {
    return await request.post({ url: `/worker/clerk/create`, data })
  },

  // 修改店员信息
  updateClerk: async (data: ClerkVO) => {
    return await request.put({ url: `/worker/clerk/update`, data })
  },
  
  // 修改店员在线状态
  updateClerkOnlineStatus: async (id: number, onlineStatus: boolean) => {
    const data = {
      id,
      onlineStatus
    }
    return await request.put({ url: '/worker/clerk/update-onlineStatus', data: data })
  },
  
  // 修改店员状态
  updateClerkStatus: async (id: number, status: boolean) => {
    const data = {
      id,
      status
    }
    return await request.put({ url: '/worker/clerk/update-status', data: data })
  },
  
  // 修改店员盲盒状态
  updateClerkBlindStatus: async (id: number, blindStatus: boolean) => {
    const data = {
      id,
      blindStatus
    }
    return await request.put({ url: '/worker/clerk/update-blindStatus', data: data })
  },
  
  // 修改店员首页推荐
  updateClerkHome: async (id: number, home: boolean) => {
    const data = {
      id,
      home
    }
    return await request.put({ url: '/worker/clerk/update-home', data: data })
  },
  
  // 修改店员人气店员
  updateClerkHot: async (id: number, hot: boolean) => {
    const data = {
      id,
      hot
    }
    return await request.put({ url: '/worker/clerk/update-hot', data: data })
  },

  // 删除店员信息
  deleteClerk: async (id: number) => {
    return await request.delete({ url: `/worker/clerk/delete?id=` + id })
  },

  // 导出店员信息 Excel
  exportClerk: async (params) => {
    return await request.download({ url: `/worker/clerk/export-excel`, params })
  },
}